package ofertas;

import java.util.ArrayList;
import java.util.List;

import productosYPresentaciones.Producto;

/**
 * Clase que representa una oferta compuesta
 * por otras ofertas
 * 
 * @author Octavio Nicolas Pompilio
 *
 */
public class OfertaCompuesta extends Oferta {

	private List<Oferta>ofertas;
	
	
	/**
	 * Constructor de la oferta compuesta por
	 * varias ofertas.
	 * @param porcentaje
	 * El porcentaje de descuento de la oferta.
	 * @param producto
	 * Las ofertas de la que estara compuesta la oferta.
	 */
	public OfertaCompuesta(float porcentaje,List<Oferta> ofertas) {
		super(porcentaje);
		this.ofertas= ofertas;
	}

	@Override
	protected float calcularPrecio() {
		float precioFinal = 0f;
		
		for( Oferta oferta: this.ofertas){
			precioFinal += oferta.precioOferta();
		}
		return precioFinal;
		
	}
	
	public List<Producto> getListaProductos(){
		List<Producto> lista = new ArrayList<Producto>();
		for(Oferta oferta:this.ofertas){
			lista.addAll( oferta.getListaProductos() );
		}
		return lista;
	}
}
